package sensor

import "time"

// SensorData 通用传感器数据结构
type SensorData struct {
	Port        string    `json:"port"`
	SensorID    string    `json:"sensor_id"`
	SensorType  string    `json:"sensor_type"`
	Timestamp   time.Time `json:"timestamp"`
	Values      map[string]interface{} `json:"values"` // 存储各种测量值
	RawData     string    `json:"raw_data,omitempty"`
}

// DataParser 数据解析器接口
type DataParser interface {
	Parse(data []byte) (*SensorData, error)
	Validate(data []byte) bool
}

// SensorReader 传感器读取器接口
type SensorReader interface {
	Initialize() error
	SendHexData(hexString string) error
	Read() ([]SensorData, error)
	Close() error
	GetName() string
}